from matplotlib import pyplot as plt
from random import randint
import matplotlib
from matplotlib import font_manager
#todo 这样修改貌似没字体
# font = {'family': 'MicroSoft Yahei',
#         'weight': 'bold',
#         'size': '18'}
#
# matplotlib.rc('font', **font)

# my_font = font_manager.FontProperties(fname='/usr/share/fonts/truetype/arphic/uming.ttc')
my_font = font_manager.FontProperties(fname='/usr/share/fonts/truetype/arphic/ukai.ttc')
x = range(0, 120)
y = [randint(20, 35) for i in range(0, 120)]
# y = [1,2,3]
# 设置图片大小
plt.figure(figsize=(20, 8), dpi=80)

# 绘图
plt.plot(x, y)

# 设置x轴的刻度
_x = list(x)
# _xtick_labels = ["hello,{}".format(i) for i in _x]
_xtick_labels = ["10点{}分".format(i) for i in range(60)]
_xtick_labels += ["11点{}分".format(i) for i in range(60)]
# [::3]步长不同 变稀疏或者紧凑            rotation旋转度数
plt.xticks(_x[::3], _xtick_labels[::3], rotation=-90,fontproperties=my_font )  # 需要一一对应,就会变成字符串
# todo 没显示中文
# todo matplotlib默认不支持中文字符
# fc-list查看系统所有字体 fc-list :lang=zh  查看支持的中文
# 1.通过matplotlib.rc来设置
# 2.通过font_manager解决



# y轴一样        最小值   最大值 就能取到区间
# plt.yticks(range(min(y),max(y)+1))


#添加描述信息
plt.xlabel('时间',fontproperties=my_font)
plt.ylabel('温度',fontproperties=my_font)
plt.title('10点到12点每分钟的气温变化',fontproperties=my_font)


# 保存
# plt.savefig('./t1.png')

# 展示图形
plt.show()
